<!DOCTYPE html><html>

<head>
<meta charset="utf-8">
<title># 操作系统的发展史（科普章节）</title>
<style>
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;}
ol,ul{list-style:none}
table{border-collapse:collapse;border-spacing:0;
  margin-top: 0;
  margin-bottom: 0.8em;
}
caption,th,td{text-align:left;font-weight:normal;vertical-align:middle}
q,blockquote{quotes:none}
q:before,q:after,blockquote:before,blockquote:after{content:"";content:none}
a img{border:none}
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary{display:block}
a{color:#1863a1;word-wrap: break-word; word-break: break-all;}
a:visited{color:#751590}
a:focus{color:#0181eb}
a:hover{color:#0181eb}
a:active{color:#01579f}
aside.sidebar a{color:#222}
aside.sidebar a:focus{color:#0181eb}
aside.sidebar a:hover{color:#0181eb}
aside.sidebar a:active{color:#01579f}
a{-webkit-transition:color 0.3s;-moz-transition:color 0.3s;-o-transition:color 0.3s;transition:color 0.3s}

body,h1,h2,h3,h4,h5,h6,footer{font-family:"PT Sans","Helvetica Neue","Optima","Hiragino Sans GB",sans-serif}
body{line-height:1.5em;color:#222
	-webkit-text-size-adjust:none;  min-width: 200px;
  max-width: 760px;
  margin: 0 auto; padding: 20px;}

pre,code,tt,p code,li code{font-family:Menlo,Monaco,"Andale Mono","lucida console","Courier New",monospace}

h1{font-size:2.2em;line-height:1.2em}

h1,h2,h3,h4,h5,h6{text-rendering:optimizelegibility;margin-bottom:1em;font-weight:bold}
h2,section h1{font-size:1.5em}
h3,section h2,section section h1{font-size:1.3em}
h4,section h3,section section h2,section section section h1{font-size:1em}
h5,section h4,section section h3{font-size:.9em}
h6,section h5,section section h4,section section section h3{font-size:.8em}
h3,h4{ padding:20px 0 0px 0;}
.markdown-body{padding: 0px 4px;}
.markdown-body h1{position:relative;padding-top:1em;padding-bottom:0.2em;margin-bottom:1em;background:url('') bottom left repeat-x}
.markdown-body  h1 a{text-decoration:none}
.markdown-body  h1 a:hover{text-decoration:underline}

.markdown-body h2{padding-top:0.8em;padding-bottom:0.2em;background:url('') bottom left repeat-x}
.markdown-body h2:first-child,.markdown-body header+h2{padding-top:4px;}
.markdown-body h2:first-child,.markdown-body header+h2{background:none}



p,.markdown-body blockquote,ul,ol{margin-bottom:0.8em; margin-top:0.8em;}
ul{list-style-type:disc}
ul ul{list-style-type:circle;margin-bottom:0px}
ul ul ul{list-style-type:square;margin-bottom:0px}
ol{list-style-type:decimal}
ol ol{list-style-type:lower-alpha;margin-bottom:0px}
ol ol ol{list-style-type:lower-roman;margin-bottom:0px}
ul,ul ul,ul ol,ol,ol ul,ol ol{margin-left:1.4em}
ul ul,ul ol,ol ul,ol ol{margin-bottom:0em}

strong{font-weight:bold}
em{font-style:italic}
sup,sub{font-size:0.75em;position:relative;display:inline-block;padding:0 .2em;line-height:.8em}
sup{top:-.5em}
sub{bottom:-.5em}
a[rev='footnote']{font-size:.75em;padding:0 .3em;line-height:1}
q{font-style:italic}
q:before{content:"\201C"}
q:after{content:"\201D"}
em,dfn{font-style:italic}
strong,dfn{font-weight:bold}
del,s{text-decoration:line-through}
abbr,acronym{border-bottom:1px dotted;cursor:help}
small{font-size:.8em}
big{font-size:1.2em}

.markdown-body hr {
  height: 0;
  margin: 15px 0;
  overflow: hidden;
  background: transparent;
  border: 0;
  border-bottom: 1px solid #ddd;
}

.markdown-body hr:before {
  display: table;
  content: "";
}

.markdown-body hr:after {
  display: table;
  clear: both;
  content: "";
}


.markdown-body table {
  display: block;
  width: 100%;
  overflow: auto;
  word-break: normal;
  word-break: keep-all;
}

.markdown-body table th {
  font-weight: bold;
}

.markdown-body table th,
.markdown-body table td {
  padding: 6px 13px;
  border: 1px solid #ddd;
}

.markdown-body table tr {
  background-color: #fff;
  border-top: 1px solid #ccc;
}

.markdown-body table tr:nth-child(2n) {
  background-color: #f8f8f8;
}

.markdown-body blockquote{font-style:italic;position:relative;font-size:1.2em;line-height:1.5em;padding-left:1em;border-left:4px solid rgba(170,170,170,0.5)}
.markdown-body blockquote cite{font-style:italic}
.markdown-body blockquote cite a{color:#aaa !important;word-wrap:break-word}
.markdown-body blockquote cite:before{content:'\2014';padding-right:.3em;padding-left:.3em;color:#aaa}

.markdown-body a{white-space:-moz-pre-wrap;white-space:-pre-wrap;white-space:-o-pre-wrap;white-space:pre-wrap;word-wrap:break-word}

body>header{font-size:1em;padding-top:1.5em;padding-bottom:1.5em}
.markdown-body{overflow:hidden}
.markdown-body>div,.markdown-body>article{width:100%}
aside.sidebar{float:none;padding:0 18px 1px;background-color:#f7f7f7;border-top:1px solid #e0e0e0}
.flex-content,article img,article video,article .flash-video,aside.sidebar img{max-width:100%;height:auto}
.basic-alignment.left,article img.left,article video.left,article .left.flash-video,aside.sidebar img.left{float:left;margin-right:1.5em}
.basic-alignment.right,article img.right,article video.right,article .right.flash-video,aside.sidebar img.right{float:right;margin-left:1.5em}
.basic-alignment.center,article img.center,article video.center,article .center.flash-video,aside.sidebar img.center{display:block;margin:0 auto 1.5em}
.basic-alignment.left,article img.left,article video.left,article .left.flash-video,aside.sidebar img.left,.basic-alignment.right,article img.right,article video.right,article .right.flash-video,aside.sidebar img.right{margin-bottom:.8em}
.toggle-sidebar,.no-sidebar .toggle-sidebar{display:none}


.markdown-body img,.markdown-body video,.markdown-body .flash-video{ -webkit-border-radius:0.3em;-moz-border-radius:0.3em;-ms-border-radius:0.3em;-o-border-radius:0.3em;border-radius:0.3em;-webkit-box-shadow:rgba(0,0,0,0.15) 0 1px 4px;-moz-box-shadow:rgba(0,0,0,0.15) 0 1px 4px;box-shadow:rgba(0,0,0,0.15) 0 1px 4px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;border:#fff 0.5em solid;}

.markdown-body img,.markdown-body video{max-width: 100%;}
.markdown-body video,.markdown-body .flash-video{margin:0 auto 1.5em}
.markdown-body video{display:block;width:100%}
.markdown-body .flash-video>div{position:relative;display:block;padding-bottom:56.25%;padding-top:1px;height:0;overflow:hidden}
.markdown-body .flash-video>div iframe,.markdown-body .flash-video>div object,.markdown-body .flash-video>div embed{position:absolute;top:0;left:0;width:100%;height:100%}
.markdown-body>footer{padding-bottom:2.5em;margin-top:2em}
.markdown-body>footer p.meta{margin-bottom:.8em;font-size:.85em;clear:both;overflow:hidden}


body,pre{ background:#fdf6e3 url('') top left;}
body{ background-color: #f8f8f8;}
pre{-webkit-border-radius:0.4em;-moz-border-radius:0.4em;-ms-border-radius:0.4em;-o-border-radius:0.4em;border-radius:0.4em;border:1px solid #e7dec3;line-height:1.45em;font-size:13px;margin-bottom:2.1em;padding:.8em 1em;color:#586e75;overflow:auto}
.markdown-body code{background: none;}
h3.filename+pre{-moz-border-radius-topleft:0px;-webkit-border-top-left-radius:0px;border-top-left-radius:0px;-moz-border-radius-topright:0px;-webkit-border-top-right-radius:0px;border-top-right-radius:0px}
p code,li code{display:inline-block;white-space:no-wrap;background:#fff;font-size:.8em;line-height:1.5em;color:#555;border:1px solid #ddd;-webkit-border-radius:0.4em;-moz-border-radius:0.4em;-ms-border-radius:0.4em;-o-border-radius:0.4em;border-radius:0.4em;padding:0 .3em;margin:-1px 0}
p pre code,li pre code{font-size:1em !important;background:none;border:none}

/*

Orginal Style from ethanschoonover.com/solarized (c) Jeremy Hull <sourdrums@gmail.com>

*/

.hljs {
  display: block;
  overflow-x: auto;
  padding: 0.5em;
  background: #fdf6e3;
  color: #657b83;
  -webkit-text-size-adjust: none;
}

.hljs-comment,
.diff .hljs-header,
.hljs-doctype,
.hljs-pi,
.lisp .hljs-string {
  color: #93a1a1;
}

/* Solarized Green */
.hljs-keyword,
.hljs-winutils,
.method,
.hljs-addition,
.css .hljs-tag,
.hljs-request,
.hljs-status,
.nginx .hljs-title {
  color: #859900;
}

/* Solarized Cyan */
.hljs-number,
.hljs-command,
.hljs-string,
.hljs-tag .hljs-value,
.hljs-rule .hljs-value,
.hljs-doctag,
.tex .hljs-formula,
.hljs-regexp,
.hljs-hexcolor,
.hljs-link_url {
  color: #2aa198;
}

/* Solarized Blue */
.hljs-title,
.hljs-localvars,
.hljs-chunk,
.hljs-decorator,
.hljs-built_in,
.hljs-identifier,
.vhdl .hljs-literal,
.hljs-id,
.css .hljs-function,
.hljs-name {
  color: #268bd2;
}

/* Solarized Yellow */
.hljs-attribute,
.hljs-variable,
.lisp .hljs-body,
.smalltalk .hljs-number,
.hljs-constant,
.hljs-class .hljs-title,
.hljs-parent,
.hljs-type,
.hljs-link_reference {
  color: #b58900;
}

/* Solarized Orange */
.hljs-preprocessor,
.hljs-preprocessor .hljs-keyword,
.hljs-pragma,
.hljs-shebang,
.hljs-symbol,
.hljs-symbol .hljs-string,
.diff .hljs-change,
.hljs-special,
.hljs-attr_selector,
.hljs-subst,
.hljs-cdata,
.css .hljs-pseudo,
.hljs-header {
  color: #cb4b16;
}

/* Solarized Red */
.hljs-deletion,
.hljs-important {
  color: #dc322f;
}

/* Solarized Violet */
.hljs-link_label {
  color: #6c71c4;
}

.tex .hljs-formula {
  background: #eee8d5;
}


</style>

<style> @media print{ .hljs{overflow: visible; word-wrap: break-word !important;} }</style></head><body><div class="markdown-body">
<h1 id="toc_0">操作系统的发展史（科普章节）</h1>

<h2 id="toc_1">目标</h2>

<ul>
<li>了解操作系统的发展历史</li>
<li>知道 Linux 内核及发行版的区别</li>
<li>知道 Linux 的应用领域</li>
</ul>

<h2 id="toc_2">01. 操作系统的发展历史</h2>

<h3 id="toc_3">1.1 Unix</h3>

<p>1965 年之前的时候，电脑并不像现在一样普遍，它可不是一般人能碰的起的，除非是军事或者学院的研究机构，而且当时大型主机至多能提供30台终端（30个键盘、显示器)，连接一台电脑</p>

<p><img src="media/14924523913772/001_%E5%A4%A7%E5%9E%8B%E6%9C%BA.png" alt="001_大型机"/>￼</p>

<p><strong>为了解决数量不够用的问题</strong></p>

<ul>
<li>1965 年左后由 <strong>贝尔实验室</strong> 加入了 <strong>麻省理工学院</strong> 以及 <strong>通用电气</strong> 合作的计划 —— 该计划要建立一套 <strong>多使用者(multi－user)</strong>、<strong>多任务(multi－processor)</strong>、<strong>多层次(multi－level)</strong> 的 <strong>MULTICS</strong> 操作系统，想让大型主机支持 300 台终端</li>
<li>1969 年前后这个项目进度缓慢，资金短缺，贝尔实验室退出了研究</li>
<li>1969 年从这个项目中退出的 <strong>Ken Thompson</strong> 当时在实验室无聊时，为了让一台空闲的电脑上能够运行 &quot;星际旅行（Space Travel）&quot; 游行，在 8 月份左右趁着其妻子探亲的时间，<strong>用了 1 个月的时间</strong>，使用汇编写出了 Unix 操作系统的原型</li>
<li>1970 年，美国贝尔实验室的 <strong>Ken Thompson</strong>，以 <strong>BCPL</strong> 语言为基础，设计出很简单且很接近硬件的 <strong>B 语言</strong>（取BCPL的首字母），并且他用 <strong>B 语言</strong> 写了第一个 UNIX 操作系统</li>
<li>1971 年，同样酷爱 &quot;星际旅行（Space Travel）&quot; 的 <strong>Dennis M.Ritchie</strong> 为了能早点儿玩上游戏，加入了 <strong>Thompson</strong> 的开发项目，合作开发 UNIX，他的主要工作是改造 <strong>B 语言</strong>，因为<strong>B 语言</strong> 的跨平台性较差</li>
<li>1972 年，<strong>Dennis M.Ritchie</strong> 在 <strong>B 语言</strong> 的基础上最终设计出了一种新的语言，他取了 <strong>BCPL</strong> 的第二个字母作为这种语言的名字，这就是 <strong>C 语言</strong></li>
<li>1973 年初，<strong>C 语言</strong>的主体完成，<strong>Thompson</strong> 和 <strong>Ritchie</strong> 迫不及待地开始用它完全重写了现在大名鼎鼎的 <strong>Unix 操作系统</strong></li>
</ul>

<p><img src="media/14924523913772/002_unix%E4%B9%8B%E7%88%B6.png" alt="002_unix之父"/>￼</p>

<p>肯·汤普逊（左）和丹尼斯·里奇（右）</p>

<h4 id="toc_4">C 语言</h4>

<ul>
<li>在把 <strong>UNIX</strong> 移植到其他类型的计算机上使用时，<strong>C 语言</strong>强大的移植性（Portability）在此显现

<ul>
<li>机器语言和汇编语言都不具有移植性，为 x86 开发的程序，不可能在 Alpha，SPARC 和 ARM 等机器上运行</li>
</ul></li>
<li>而 <strong>C 语言</strong>程序则可以使用在任意架构的处理器上，只要那种架构的处理器<strong>具有对应的 C 语言编译器和库</strong>，然后将 C 源代码编译、连接成目标二进制文件之后即可运行 </li>
</ul>

<h4 id="toc_5">Unix 家谱</h4>

<p><img src="media/14924523913772/003_unix%E5%AE%B6%E8%B0%B1.jpg" alt="003_unix家谱"/>￼</p>

<h3 id="toc_6">1.2 Minix</h3>

<ul>
<li>因为 <strong>AT&amp;T（通用电气）</strong> 的政策改变，在 Version 7 Unix 推出之后，发布新的使用条款，将 UNIX 源代码私有化，在大学中不再能使用 UNIX 源代码</li>
<li><strong>Andrew S. Tanenbaum（塔能鲍姆）</strong> 教授为了能 <strong>在课堂上教授学生操作系统运作的细节</strong>，决定在不使用任何 AT&amp;T 的源代码前提下，自行开发与 UNIX 兼容的操作系统，以避免版权上的争议</li>
<li>以 <strong>小型 UNIX（mini-UNIX）</strong>之意，将它称为 <strong>MINIX</strong></li>
</ul>

<h3 id="toc_7">1.3 Linux</h3>

<ul>
<li>1991 年 <strong>林纳斯（Linus）</strong> 就读于赫尔辛基大学期间，对 Unix 产生浓厚兴趣，尝试着在Minix 上做一些开发工作</li>
<li>因为 <strong>Minix</strong> 只是教学使用，因此功能并不强，<strong>林纳斯</strong> 经常要用他的终端 <strong>仿真器（Terminal Emulator）</strong> 去访问大学主机上的新闻组和邮件，为了方便读写和下载文件，他自己编写了磁盘驱动程序和文件系统，这些在后来成为了 Linux 第一个内核的雏形，当时，他年仅 21 岁！</li>
<li><strong>林纳斯</strong> 利用 GNU 的 bash 当做开发环境，gcc 当做编译工具，编写了 Linux 内核，一开始 Linux 并不能兼容 Unix

<ul>
<li>即 Unix 上跑的应用程序不能在 Linux 上跑，即应用程序与内核之间的接口不一致</li>
<li>一开始 Linux 只适用于 386，后来经过全世界的网友的帮助，最终能够兼容多种硬件</li>
</ul></li>
</ul>

<p><img src="media/14924523913772/004_%E6%9E%97%E7%BA%B3%E6%96%AF.jpg" alt="004_林纳斯"/>￼</p>

<h2 id="toc_8">02. Linux 内核及发行版</h2>

<h3 id="toc_9">2.1 Linux 内核版本</h3>

<ul>
<li><strong>内核（kernel）</strong>是系统的心脏，是运行程序和管理像磁盘和打印机等硬件设备的核心程序，它提供了一个在裸设备与应用程序间的抽象层</li>
<li>Linux 内核版本又分为 <strong>稳定版</strong> 和 <strong>开发版</strong>，两种版本是相互关联，相互循环

<ul>
<li><strong>稳定版</strong>：具有工业级强度，可以广泛地应用和部署。新的稳定版相对于较旧的只是修正一些 bug 或加入一些新的驱动程序</li>
<li><strong>开发版</strong>：由于要试验各种解决方案，所以变化很快</li>
</ul></li>
<li>内核源码网址：<a href="http://www.kernel.org">http://www.kernel.org</a></li>
</ul>

<blockquote>
<p>所有来自全世界的对 Linux 源码的修改最终都会汇总到这个网站，由 Linus 领导的开源社区对其进行甄别和修改最终决定是否进入到 Linux 主线内核源码中</p>
</blockquote>

<h3 id="toc_10">2.2 Linux 发行版本</h3>

<ul>
<li><strong>Linux 发行版（也被叫做 GNU/Linux 发行版）</strong>通常包含了包括桌面环境、办公套件、媒体播放器、数据库等应用软件</li>
<li><p>常见的发行版本如下：</p>

<ul>
<li>Ubuntu</li>
<li>Redhat</li>
<li>Fedora</li>
<li>openSUSE</li>
<li>Linux Mint</li>
<li>Debian</li>
<li>Manjaro</li>
<li>Mageia</li>
<li>CentOS</li>
<li>Arch</li>
</ul></li>
<li><p>十大 Linux 服务器发行版排行榜：<a href="http://os.51cto.com/art/201612/526126.htm">http://os.51cto.com/art/201612/526126.htm</a></p></li>
</ul>

<blockquote>
<p>在几乎每一份与 Linux 有关的榜单上，基于 Debian 的 Ubuntu 都占有一席之位。Canonical 的Ubuntu 胜过其他所有的 Linux 服务器发行版 ―― 从简单安装、出色的硬件发现，到世界级的商业支持，Ubuntu确立了难以企及的严格标准</p>
</blockquote>

<h2 id="toc_11">03. Linux 的应用领域</h2>

<h3 id="toc_12">3.1 服务器领域</h3>

<ul>
<li>Linux 在服务器领域的应用是其重要分支</li>
<li>Linux 免费、稳定、高效等特点在这里得到了很好的体现

<ul>
<li>早期因为维护、运行等原因同样受到了很大的限制</li>
<li>近些年来 Linux 服务器市场得到了飞速的提升，尤其在一些高端领域尤为广泛</li>
</ul></li>
</ul>

<h3 id="toc_13">3.2 嵌入式领域</h3>

<ul>
<li>近些年来 Linux 在嵌入式领域的应用得到了飞速的提高</li>
<li>Linux 运行稳定、对网络的良好支持性、低成本，且可以根据需要进行软件裁剪，内核最小可以达到几百 KB 等特点，使其近些年来在嵌入式领域的应用得到非常大的提高</li>
</ul>

<blockquote>
<p>主要应用：<strong>机顶盒</strong>、<strong>数字电视</strong>、<strong>网络电话</strong>、<strong>程控交换机</strong>、<strong>手机</strong>、<strong>PDA</strong>、等都是其应用领域，得到了 Google、三星、摩托罗拉、NEC 等公司的大力推广</p>
</blockquote>

<h3 id="toc_14">3.3 个人桌面领域</h3>

<ul>
<li>此领域是传统 Linux 应用最薄弱的环节</li>
<li>传统 Linux 由于界面简单、操作复杂、应用软件少的缺点，一直被 Windows 所压制</li>
<li>近些年来随着 <strong>Ubuntu</strong>、<strong>Fedora</strong> 等优秀桌面环境的兴起，同时各大硬件厂商对其支持的加大，Linux 在个人桌面领域的占有率在逐渐的提高</li>
</ul>

<blockquote>
<p>在 Ubuntu 中玩 QQ</p>
</blockquote>

<p><img src="media/14924523913772/005_ubuntu_qq.jpg" alt="005_ubuntu_qq"/>￼</p>

</div></body>

</html>
